The development of systems using and storing large amounts of data has lead to many approaches for storage and access of data. One approach includes a client/server file system protocol where clients may interact directly with storage servers. The clients interact with these storage servers using block lists. Block lists describe actual physical sectors on a memory resource, allowing a storage server to handle the actual data transfer to and from a file system resource.
In this approach, a client may access data by first obtaining a block list from a metadata server, and then using this block list to read and write data directly to a storage server. A client is a computer that is allowed to access networked file services provided by the storage node. Existing implementations, including the above-outlined approach, rely on trusted networks, trusted clients and trusted metadata servers. Thus, there is no verification of a client's authority to use a given block list, no validation that the block list was issued by an authorized metadata server, and block lists are transmitted over a network in plain text.